home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / inadv095.zip / readme.txt < prev    next >
Text File  |  1996-11-17  |  67KB  |  1,470 lines

  1. ===================================================================
  2.   _____       _                       _   
  3.   \_   \_ __ | |_ ___ _ __ _ __   ___| |_   The
  4.    / /\/ '_ \| __/ _ \ '__| '_ \ / _ \ __|  Internet
  5. /\/ /_ | | | | ||  __/ |  | | | |  __/ |_   Suite for
  6. \____/ |_| |_|\__\___|_|  |_| |_|\___|\__|  OS/2 Warp
  7.                                                 
  8.    _       _                 _                       
  9.   /_\   __| |_   _____ _ __ | |_ _   _ _ __ ___ _ __ 
  10.  //_\\ / _` \ \ / / _ \ '_ \| __| | | | '__/ _ \ '__|
  11. /  _  \ (_| |\ V /  __/ | | | |_| |_| | | |  __/ |   
  12. \_/ \_/\__,_| \_/ \___|_| |_|\__|\__,_|_|  \___|_|   
  13.  
  14.  
  15. 17. November 1996
  16.  
  17. ===================================================================
  18.  
  19. Version 0.95
  20.  
  21. Copyright (c) 1996, Kim Rasmussen
  22. All rights reserved.
  23.  
  24. SEE MY WEB PAGE at http://www.teamos2.org/software/iadventure/ for
  25. newest info !!
  26.  
  27. ===================================================================
  28.                           N O T I C E
  29. ===================================================================
  30. This IS a shareware package, and does require a registration fee if
  31. you choose to continue using it after 30 days.  The registration
  32. fee for this product is currently $30 US. When Internet Adventurer
  33. is out of beta, this price will grow for new registrations, so
  34. register now while it's cheap !.
  35.  
  36. Note that after v2.99 I might select that your registrations have
  37. expired, and you need to re-register in order to upgrade to versions
  38. higher than 2.99.
  39.  
  40. See the file REGISTER.TXT for more information about how to register
  41.  
  42.  
  43. ===================================================================
  44.                       L E G A L   S T U F F
  45. ===================================================================
  46. As usual with shareware, I'm not responsible for any damages you
  47. may suffer by using Internet Adventurer in any form or way. If you
  48. are going to jail because of unpaid huge phone-bills, then it's not
  49. and never will be my problem. Any damages/faults/whatever arising
  50. from the use of Internet Adventurer is entirely your own problem.
  51. If your harddisk vanish after installing, or your wife leaves you
  52. it's your own problem - got it ?
  53.  
  54.  
  55. ===================================================================
  56.                      R E Q U I R E M E N T S
  57. ===================================================================
  58. Internet Adventurer requires OS/2 Warp, with min 8Mb Memory - it
  59. probably will run on 4Mb, but I wouldn't to it :) It seems to work fine
  60. under Warp 4 (Merlin)
  61.  
  62. Also, WebExplorer from IBM is required. At least BETA web0814 is
  63. required, you can get the newest from ftp.ibm.net /pub/WebExplorer
  64. You also need to have internet software, at least TCP/IP v3.0 (or what
  65. your WebExplorer needs) is required.
  66.  
  67. Also, I recommend installing fixpack 17, and the updated PMMERGE.DLL.
  68. Doing so, really fixes alot of traps especially in PMCTLS and PMMERGE.
  69.  
  70. I haven't tried fixpack 22 yet - I've heard conflicting stories about it
  71. some say that after installing it, they couldn't open the settings dialog,
  72. and some say that it has improved pretty much everything. I've also heard
  73. of problems with the InetAdv settings-notebook - please let me know if you
  74. have any problems there.
  75.  
  76. ===================================================================
  77.                   A C K N O W L E D G E M E N T S
  78. ===================================================================
  79. I would like to thank all the people in #os/2 and #os2prog who have
  80. helped me with this, especially the ones who have given me sample
  81. code, and tolerated my bugs :)
  82.  
  83.  
  84. --------
  85. Contents
  86. --------
  87.  
  88. 1. Contacting the Author (that's me)
  89. 2. Current Features List
  90. 3. Known Bugs/Workarounds
  91. 4. Missing Features / ToDo List
  92. 5. Command-line arguments
  93. 6. Supported IRC Commands
  94. 7. REXX Scripts
  95. 8. REXX Quicklist
  96. 9. Toolbars
  97. 10. Database recovery
  98. 11. Version history
  99.  
  100.  
  101. ------------------------------------
  102. 1. Contacting the Author (that's me)
  103. ------------------------------------
  104.  
  105. You  can contact me in a number  of ways.  Unfortunately, I can't
  106. provide neither a fax or phone number at this time.
  107.  
  108. Mail:          Adventure Software
  109.                Kim Rasmussen
  110.                Gartnervang 2C, 3tv
  111.                DK-4000  Roskilde
  112.                Denmark
  113.  
  114. Web:           http://home3.inet.tele.dk/krasmus/
  115.                http://www.teamos2.org/software/iadventure/
  116.  
  117. Internet:      krasmus@post3.tele.dk - but if at all possible, _please_ use
  118.                my mailing-list for all questions/suggestions about InetAdv !!
  119.            
  120. IRC:           I can usually be found hanging around in #os/2 or #os2prog
  121.                you might even catch me in #inetadv :)
  122.                My nickname is usually Starlord_, but look for Kim Rasmussen
  123.                in my real-name.
  124.  
  125. Mailinglist:   Cliff Wood has setup a mailing list for me, to join it send a
  126.                mail to <majordomo@infinity.beve.blacksburg.va.us> This mail
  127.                MUST have the first line in the BODY of the message set to
  128.                "subscribe inetadv-l" - without the quotes.
  129.  
  130. Support:       I'll try to help as much as I can, go to #inetadv on IRC, or
  131.                use the mailing list. If you can't reach me in other ways,
  132.                send an email to krasmus@post3.tele.dk
  133.  
  134.  
  135. ------------------------
  136. 2. Current Features List
  137. ------------------------
  138.  
  139.  - Consistent userinterface - all the sections of Internet Adventurer share
  140.    the same toolbars, and the same look and feel - you can even drag toolbar
  141.    items from eg. the WWW window to an IRC window.
  142.  
  143.  - IRC (rfc #1459 compliant)
  144.  
  145.  - CTCP (Client to Client Protocol) commands supported
  146.  
  147.  - DCC CHAT fully supported (private chat - remember to set your IP address)
  148.  
  149.  - DCC Multiple concurrent filetransfers are fully supported, both ways
  150.  
  151.  - Multiple Threads, one per IRC channel
  152.  
  153.  - Fully multithreaded 32-bit code - no 16-bit code at all
  154.  
  155.  - No class libraries, uses PM functions directly, for maximum speed
  156.  
  157.  - Multiple Windows - one window for each channel or for private messages
  158.  
  159.  - Multiple colors, get a complete overview in seconds, configure strings
  160.    that will be shown with different colors.
  161.  
  162.  - Configureable fonts and colors
  163.  
  164.  - WWW support, using WebExplorer's API, to ensure that the newest available
  165.    browser technology is supported. You should even be able to use Internet
  166.    Adventurer with a newer version of WebExplorer (no guaranties though...)
  167.    It's even faster that WebExplorer !
  168.  
  169.  - Proxy and Socks support for WWW, gopher and FTP
  170.  
  171.  - You never need to cancel loading of an URL, to begin loading another, you
  172.    just click on the link you want, even if the page you're currently loading
  173.    isn't complete yet.
  174.  
  175.  - REXX Scripts support, compatible with the GammaTech IRC-Client v2.00.
  176.  
  177.  - Nickname list in channel-windows
  178.  
  179.  - User Configureable toolbars, click on the toolbar with your right mouse
  180.    button, and add/edit/delete buttons. You can also drag buttons to other
  181.    windows, if you press ctrl while dragging, they get copied.
  182.  
  183.  - DLL PlugIn's - support for extending Internet Adventurer with customized
  184.    tools.
  185.  
  186.  - Fully configureable quicklist with support for multilevel groups, where
  187.    you can put your URL's. One group for eg. "Internet Search Engines", one
  188.    for "OS/2", one for "Fun stuff" etc....
  189.  
  190.  - Smart URL resolving by 'nickname', enter eg. 'Yahoo' - and that will take
  191.    you to http://www.yahoo.com, or enter 'inetadv' - which will take you to
  192.    http://home3.inet.tele.dk/krasmus/
  193.  
  194.  - Intelligent URL handling and interfacing, from a www document, select a link
  195.    called 'irc:/server irc.dd.chalmers.se' and InetAdv will open up an IRC
  196.    window, and connect to the specified server.
  197.  
  198.  - Viewing HTML source, saving to disk, displaying from disk.
  199.  
  200.  - Registration via registration keys - easy upgrading of registered versions.
  201.  
  202.  - URL Parsing REXX scripts - You can completely customize the URL handling.
  203.  
  204.  - Quicklist database accessible from REXX scripts
  205.  
  206.  - Importing of WebExplorer quicklist
  207.  
  208.  - Quicklist supports Drag & Drop
  209.  
  210.  - URL objects can be dragged into the quicklist
  211.  
  212.  - IDENTD support for those IRC servers that require it.
  213.  
  214.  - Newsreader with both online and offline newsreading support
  215.  
  216.  - Support for multiple simultaneous newsservers (requires registration)
  217.  
  218.  - Support for UU-Decoding both news and mail messages
  219.  
  220.  - Mail, support for retrieving via POP3 and sending via SMTP
  221.  
  222.  - Multiple mail accounts (requires registration)
  223.  
  224.  - Selectable loading of plugins - eg. if news/mail is never used, it can
  225.    be left out, and thus never uses any memory.
  226.  
  227.  - Automatic recovery of any eventual damaged quicklist/news databases
  228.  
  229.  - Threaded viewing of News and Mail - True news threading (by references)
  230.  
  231.  - Lot's of other features - too many to mention here
  232.  
  233.  
  234. -------------------------
  235. 3. Known Bugs/Workarounds
  236. -------------------------
  237.  
  238.  - 'Time' is not updated in filetransfers, but always set to 00:00:00
  239.  
  240.  
  241. -------------------------------
  242. 4. Missing Features / ToDo List
  243. -------------------------------
  244.  
  245.  - Full MIME support will be in the next version
  246.  
  247.  - Global address-book, where you will be able to put name, URL, email
  248.    telnet, notes etc. into the book, and thus use a common entry for both
  249.    email, telnet etc.
  250.  
  251.  - Filters for news and mail - both static and REXX filters
  252.  
  253.  - Custom folders for news and mail
  254.  
  255.  - Password protected folders for news/mail groups
  256.  
  257.  - Example REXX scripts - I'm currently working with the authors of IRC/2 and
  258.    GTIRC to create a standard for REXX scripts that we can all agree on, so
  259.    when we are ready, there should be lots of sample scripts.
  260.  
  261.  - Presentation mode in WWW - for now, you can disable the toolbars to
  262.    make the window overhead as small as possible.
  263.  
  264.  - I'll document the PlugIn DLL API real soon, I have already gotten some
  265.    indications of people wanting to write either new plug-ins, or write
  266.    scripts in C - mail me if you have anything specific you want, and I will
  267.    try to rush it even more.
  268.  
  269.  - I'll clean DCC up a bit, I don't like the way it works now - I'll add
  270.    tons of options for blocksize etc. and I'll make one DCC window that shows
  271.    the status of all the current DCC filetransfers instead of the tons of
  272.    windows you see now.
  273.  
  274.  - WAV file support, I'll add lots of options, for playing different WAV files
  275.    depending on what is going on. I'll also add more options for eg. switching
  276.    the WWW window to the foreground after an URL has completed loading.
  277.  
  278.  - Connections to multiple IRC servers simultaneously
  279.  
  280.  - DCC firewall support is almost ready
  281.  
  282.  - Flood protection to come...
  283.  
  284.  - Gopher and FTP is currently only supported via the WebExplorer API
  285.    I probably won't touch gopher, but you'l get a beefed up FTP, with support
  286.    for upload/download etc.
  287.  
  288.  - Telnet isn't supported yet
  289.  
  290.  - If you have any suggestions for other features, please email me at
  291.    krasmus@post3.tele.dk and tell me what you want.
  292.  
  293.  - I have a _huge_ todolist, and tons of small yellow pieces of paper glued
  294.    to my monitor - so don't dispair if you can not see your suggestions here.
  295.  
  296. -------------------------
  297. 5. Command-line arguments
  298. -------------------------
  299.  
  300. Syntax is: INETADV.EXE [/I:<inifile>] [/P:<pluginfile>] [URL]
  301.  
  302. Example: INETADV.EXE /I:inetadv.ini http://home3.inet.tele.dk/krasmus/
  303. Example: INETADV.EXE http://home3.inet.tele.dk/krasmus/
  304. Example: INETADV.EXE irc:/default /P:www_only.cfg
  305.  
  306. URL is an optional URL to retrive immediately after starting Internet Adventurer.
  307.  
  308. /I:<inifile> where <inifile> is the name of the ini-file to use for storing the
  309. settings. If this option is not specified, OS2.INI is used. The .cmd file copyini.cmd
  310. can be used to copy settings to/from OS2.INI - uninst.cmd must be used for uninstalling
  311. and deleting settings from OS2.INI
  312.  
  313. /P:<pluginfile> where <pluginfile> is the name of a plain text file, where each
  314. line in the file contains the name of the DLL to load - eg. 
  315.  
  316. ---- Cut here ----
  317. IA_WWW
  318. IA_IRC
  319. IA_NWSML
  320. ---- Cut here ----
  321.  
  322. Note that only the firstname of the DLL should be present - not the extension !
  323.  
  324. If you never use IRC, you can just delete it from the file, and same memory by not
  325. loading the IRC DLL. Note that if you do not load it, and have any toolbar buttons
  326. that have some kind of IRC action, InetAdv will complain about the buttons and you
  327. must then change or delete them.
  328.  
  329. The default pluginfile is called "iaplugins.cfg" - if this file is found in the
  330. current directory when InetAdv starts up, it will use it. If no file is found, all
  331. the DLL's will be loaded.
  332.  
  333.  
  334. -------------------------
  335. 6. Supported IRC Commands
  336. -------------------------
  337.  
  338. In a channel window, if you just write a string, it's sent to that channel
  339. if you put a '/' in front, it's treated as a command.
  340. eg. to get statistics (uptime) from you server, type '/STATS U'
  341.  
  342. All RFC 1459 commands are supported, just type '/' in front, and whatever
  343. you type will be sent to the IRC server directly (with exceptions)
  344.  
  345. The exceptions are:
  346.  
  347. /JOIN <channelname>
  348. /CHANNEL <channelname>
  349.    Join a new channel, eg. "/JOIN #os/2" joins the #os/2 channel.
  350.  
  351. /CTCP <nickname> <command>
  352.    This commands send's a CTCP request <command> to <nickname>
  353.    eg. /CTCP Starlord_ VERSION to get the version of Starlord_'s client.
  354.  
  355. /DCC CHAT <nickname>
  356.    Ask <nickname> to open a private chat conversation with you. This causes
  357.    Internet Adventurer to open a socket, waiting for a call from the other
  358.    client. Data on this session are NOT sent through the IRC server, and you
  359.    are therefore sure that no IRC-Operators can listen in.
  360.  
  361. /DCC SEND <nickname> <filename>
  362.    This command is used if you want to send a file to <nickname>.
  363.    This causes Internet Adventurer to open a socket, and wait for a call from
  364.    <nickname>'s client. If <nickname> accepts, he will then connect's to you
  365.    for receiving the file from you.
  366.  
  367. /ME <text>
  368. /ACT <text>
  369. /ACTION <text>
  370.    Use this command to tell that you're performing an action, if your nickname
  371.    is Starlord_, and you type "/me thinka Internet Adventurer is great", it
  372.    will be displayed to the other people on the channel as:
  373.    "* Starlord_ agrees that Internet Adventurer is great"
  374.  
  375. /MSG <nickname> <text>
  376.    Uses this command to send a private message to <nickname>, this message
  377.    will not be sent to the channel you're in, but only to the <nickname> you
  378.    specify. If you wan't to be sure that no one can intercept your message,
  379.    you might consider using /DCC <nickname> CHAT instead, to get a true
  380.    private connection.
  381.  
  382. /LEAVE
  383.    This command causes the window for the current channel to be closed, and
  384.    it leaves the channel - it's the same thing as closing the window by
  385.    double-clicking on it's icon.
  386.    If this command is issued in a DCC Chat window, the chat connection is
  387.    disconnected, and the window is closed.
  388.  
  389. /SIGNOFF
  390.    If issued in a channel-window, this command causes the connection to the
  391.    server to be closed. The windows will still remain on the screen.
  392.    If issued in a DCC chat window, the DCC connection is closed.
  393.  
  394. /BEGONE
  395.    This command removes all the windows, and disconnects.
  396.  
  397. /VERSION <nickname>
  398. /VER <nickname>
  399.    These commands do the same as /CTCP <nickname> VERSION - it ask's
  400.    <nickname> for his version.
  401.  
  402. /USERINFO <nickname>
  403.    This command does the same as /CTCP <nickname> USERINFO - it ask's
  404.    <nickname> for his userinfo.
  405.  
  406. /FINGER <nickname>
  407.    This command does the same as /CTCP <nickname> FINGER - it ask's
  408.    <nickname> for his finger info.
  409.  
  410. /PING <nickname>
  411.    This command does the same as /CTCP <nickname> PING - it ask's <nickname>
  412.    to return the ping response, so the delay between the two clients can be
  413.    measured.
  414.  
  415. /EXECUTE <command>
  416.    This executes the given command, eg. to put a directory listing into a
  417.    file, you can use "/exec dir >\file.txt".
  418.  
  419. /SERVER <hostname:[port]>
  420.    This command closes the connection to the current server, and connects to
  421.    the new specified server.
  422.  
  423. /MODE <channel/nicname/*> [mode parameters]
  424.    This command changes the mode of either a channel, or a nick. If * is
  425.    entered instead of channel-name, the current channel is used.
  426.    If no parameters are given, the mode is queried instead of set.
  427.  
  428. /TOPIC <channel/*> This is a topic
  429.    This command changes the topic of a channel. If * is entered instead of
  430.    channel-name, the current channel is used. If the topic itself is excluded,
  431.    then the current topic is displayed.
  432.  
  433. /CLEAR
  434. /CLE
  435.    These commands clear/erase the contents of the current window.
  436.  
  437. /QUERY <nickname>
  438. /PRIVATE <nickname>
  439.    These commands open a private window, where all messages you type are sent
  440.    to the nickname as private messages.
  441.  
  442. /SCR <script name> [script parameters]
  443.    This command executes a REXX script and passes the script parameters
  444.    (if any) directly to the script. The other parameters passed to the script
  445.    are the same as the one passed to the incoming/outgoing scripts.
  446.  
  447. /RUN <filename>
  448.    This command executes each line in the file, just as if each line was a
  449.    command, entered on the command-line. This command can be used to "type"
  450.    a file to the channel.
  451.  
  452. /QUIT <quit reason>
  453.    This quits - you can optionally specify a quit reason, eg.
  454.    "time for dinner", or "gotta install new version of InetAdv" :)
  455.  
  456. /LOG ON <filename> | OFF | DELETE
  457.    /LOG ON <filename> enables logging, and writes all lines in the window
  458.    you specified to the file you specified. /LOG OFF disables logging again
  459.    /LOG DELETE deletes the current logfile. - when log is started, logging
  460.    is always appended to the logfile.
  461.  
  462. /IRCTRACE ON <filename> | OFF | DELETE
  463.    /IRCTRACE ON <filename> enables irc tracing, and writes all incoming and
  464.    outgoing lines to the file you specified. These lines are exactly as they
  465.    are received from / set to the IRC server. /IRCTRACE OFF disables tracing
  466.    again /IRCTRACE DELETE deletes the current trace-file. - when trace is
  467.    started, new trace info is always appended to the trace-file.
  468.  
  469. //<string>
  470.    This one sends the <string> unmodified to the server. This might be
  471.    usefull for some people.
  472.  
  473.  
  474. ---------------
  475. 7. REXX Scripts
  476. ---------------
  477.  
  478. There are currently 2 kinds of REXX scripts: URL parsing, and IRC scripts.
  479.  
  480. --- URL Parsing scripts ---
  481. You can specify one script in the General settings in the Settings Dialog.
  482. This script will then be called with the URL as a parameter everytime an URL
  483. needs to be resolved. This can happen when eg. selecting a link in the WWW
  484. Window, or pressing a toolbar button that's linked to an URL.
  485.  
  486. The script gets only one parameter (the URL) and it _must_ return either an
  487. empty string (if it has handled the URL itself) or the URL that could be
  488. parsed by Internet Adventurer.
  489.  
  490. These scripts give you a chance to fully customize Internet Adventurer, you
  491. can eg. use them so all ftp:// URL's are parsed to an external FTP client
  492. that downloads the appropriate file - it's up to up, the possibilites are
  493. virtually endless.
  494.  
  495.  
  496. --- IRC Scripts ---
  497. Yes, I now support REXX scripts in IRC. I've tried to make them compatible
  498. with GT-IRC, as far as possible, this means that you are able to run eg. the
  499. IceBerg scripts for enhancing the IRC client.
  500.  
  501. NOTE: IRC Scripts can now also be used to change the messages to/from the
  502. server - see 'Return codes' for info about what to return.
  503.  
  504.  --- First, a warning ! ---
  505. REXX scripts can really eat away at your CPU, it can take some performance,
  506. especially for large scripts. I'm currently working on it, to see if I can
  507. speed the performance of the REXX scripts up, but for serious scripting, you
  508. should use the DLL plug-in interface that I'll soon be adding.
  509.  
  510. They work the following way:
  511.  
  512. You specify the name of 2 rexx script files, one which is called for every
  513. command typed by the user (outgoing), and one which is called every time
  514. the host sends a line (incoming).
  515.  
  516.  
  517. The incoming messages scripts are called with 3 parameters as follows:
  518.  
  519. script.cmd <hwnd> <current_nickname> <string>
  520.  
  521.  
  522. The outgoing commands scripts are called with 4 parameters as follows:
  523.  
  524. script.cmd <hwnd> <window-name> <current_nickname> <string>
  525.  
  526.  
  527. The <hwnd> must be used when displaying messages, the <current_nickname> is
  528. for the script to use if it want to, and the <string> is either the command
  529. that the user has typed, or the line received from the IRC server.
  530.  
  531. The window name is one of the following:
  532.    - Channel name (starting with # or &) - if command is issued in a channel
  533.      window
  534.    - Nickname (not starting with #, & or !) - if command is issued in a
  535.      query/private window.
  536.    - ! if command is issued in another window (usually main window)
  537.  
  538.  
  539. --- Return codes ---
  540.  
  541. The script must return an empty string if Internet Adventurer should not
  542. process the command, they must return "OK" when InetAdv should process the
  543. command unaltered, and finally, they can return a modified command that InetAdv
  544. will then handle. This can come in handy, for eg. scripts that needs to do
  545. translation of special characters.
  546.  
  547. Example of return codes:
  548. -------------------
  549. return ''               - This causes InetAdv to ignore the command
  550. return 'OK'             - Causes InetAdv to process the original command
  551. return 'anotherstring'  - Causes InetAdv to process anotherstring instead of
  552.                           the original command. This is especially usefull for
  553.                           scripts that do any kind of translation, because if
  554.                           IrcRexxCommand is used, the script is called again,
  555.                           causing delay and it makes the script more complex
  556.                           because it must be sure that it doesn't translate the
  557.                           string again. Returning the modified/translated command
  558.                           does NOT cause InetAdv to call the script again, but it
  559.                           immediately processes the command.
  560. -------------------
  561.  
  562. There are 5 functions available to the script writer:
  563.  
  564. IrcRexxDisplay(<text>, <hwnd>)
  565.    This function displayes <text> in the window <hwnd> if <hwnd> is a
  566.    null-string, the text will be displayed in the main irc window.
  567.  
  568. IrcRexxCommand(<text>, <hwnd>)
  569.    This function let's the rexx script enter a command. This command will be
  570.    processed by Internet Adventurer in the excact same way, as if the user
  571.    typed the command himself. The command will be passed to the script again.
  572.    Note however that playing recursive commands should be avoided, eg. a script
  573.    handling the command "/PLAY" should never send the same command in response
  574.    to a "/PLAY" command.
  575.  
  576. IrcRexxSend(<text>)
  577.    This function can be used by the script to send a command directly to the
  578.    server. Internet Adventurer will not do any processing of the command, but
  579.    it will forward it directly to the server.
  580.  
  581. IrcRexxWildCard(<wildcard>, <string>, <options>)
  582.    This function check if a given wildcard matched the string. If a match if
  583.    found, "MATCH" is returned, otherwise "NOMATCH" is returned.
  584.    <option> is optional, and can currently only have one value if specified.
  585.    The value is: 'NOCASE' to turn case sensitivity off.
  586.  
  587.    Wildcards that can be used are ? to match one char, and * to match any
  588.    number of characters. Use \* or \? to look for * or ? as characters.
  589.  
  590.    NOTE: The pattern matching matches the whole string, eg. "a" does _not_
  591.    match "abcdef", but "a*" matches "abcdef". "c" does not match "abcdef",
  592.    neither does "*c", but "*c*" does !
  593.  
  594. IrcRexxIsOp(<channel>, <nick>, <hwnd>)
  595.    This function can be used to query if the nickname is currently operator on
  596.    the specified channel. If channel is "*" then the current channel is
  597.    assumed. This function returns "YES" if the user is op, "NO" if he isn't,
  598.    and "ERROR" if the channel can't be found, or the user is not on that
  599.    channel. NOTE: This command can be used to determine if a user is on a
  600.    given channel.
  601.    
  602. Also, if you need any special function, let me know, and i will probably put
  603. it in.
  604.  
  605. -----------------
  606. 8. REXX Quicklist
  607. -----------------
  608.  
  609. Internet Adventurer stores all it's quicklist entries in a database. This
  610. database can now be accessed via REXX scripts, and a sample script for
  611. importing the WebExplorer quicklist is also included (import.cmd).
  612.  
  613. General note about return codes:
  614.    All the functions (except IARX_QOpenDatabase) returns an error code which
  615.    says if the requested operation has succeeded. A return code of 0 means
  616.    that everything went OK, and another return-code indicates an error.
  617.  
  618. For examples on how to use it, look it the .cmd files - a reference of the
  619. available functions comes here:
  620.  
  621. IARX_Register
  622.    This function must be the first one to be called from the REXX script.
  623.    It registers all the other functions with REXX, so they can be resolved.
  624.  
  625. IARX_QOpenDatabase
  626.    This function opens the quicklist database, and makes it available for
  627.    reading. Remember _always_ to close the database after use.
  628.    This function returns a string with an error-message if the database could
  629.    not be opened, and it returns an empty string if the database was opened
  630.    successfully.
  631.  
  632. IARX_QCloseDatabase
  633.    This function closes the opened database
  634.  
  635. IARX_QCreate
  636.    This one is use to create a new record in the quicklist, this can be
  637.    either a group or an item.
  638.    It needs one parameter, the name of a stem variable that holds the record
  639.    to insert, eg.  rc = IARX_QCreate("q") - where the stem variable _must_
  640.    have been setup like this:
  641.       q.id            - Record ID
  642.       q.parent        - Parent ID
  643.       q.children      - Number of children
  644.       q.type          - Type (0 = Group, 1 = URL/Item)
  645.       q.title         - Title of Item of Folder
  646.       q.nick          - Nickname of item (must be unique and non-numeric)
  647.       q.url           - The URL (if type = 1)
  648.    Upon successful return, q.id contains the assiged ID.
  649.    If this function fails, it is usually because either the stem variable is
  650.    not setup correctly, or because an item already exists in the quicklist
  651.    with the same nickname.
  652.  
  653. IARX_QUpdate
  654.    This one is used to update a record in the quicklist, and it will fail if
  655.    it does not already exist.
  656.    It needs one parameter only (look at IARX_QCreate for info about it)
  657.  
  658. IARX_QDelete
  659.    This one is used to delete a record from the database, note that you must
  660.    only delete a group if it is empty - trying to delete a non-empty group
  661.    could cause bad things to happen to the quicklist database.
  662.    It needs only one parameter, which must contain the ID of the record to
  663.    be deleted.
  664.  
  665. IARX_QGet
  666.    This function retrieves a record from the database, it requires two
  667.    parameters, the id of the record to read, and the name of the stem to
  668.    place the results in.
  669.    Note that the parent of all quicklist records had ID 0
  670.  
  671.  
  672. IARX_QMakeTree
  673.    This function is used to read an entire level of entries, it takes two
  674.    parameters, the first is the name of the stem variable to place the
  675.    results in, the second is the id of the parent record, eg. specifying 0
  676.    as the parent ID gives a list of all the records in the root-level of the
  677.    quicklist tree.
  678.    The stem will look like this on output: rc = IARX_MakeTree("tree", 0)
  679.       tree.items        - Number of items returned
  680.       tree.1.id         - ID of record
  681.       tree.1.parent     - ID of parent
  682.       tree.1.children   - Number of children
  683.       tree.1.type       - Type (0 = Group, 1 = URL/Item)
  684.       tree.1.title      - Title of Item of Folder
  685.       tree.1.nick       - Nickname of item (must be unique and non-numeric)
  686.       tree.1.url        - The URL (if type = 1)
  687.  
  688.       this continues with tree.2. tree.3. etc. up til tree.items has been
  689.       reached.
  690.  
  691.    Note that this function will later be enhanced, so it returns the contents
  692.    of the entire tree - this can be done manually in the REXX script now, but
  693.    just calling it again for each group discovered.
  694.  
  695.  
  696. WARNING: Before you make your own script to play around with the quicklist,
  697. be sure to take a backup of your quicklist database first, this can be done
  698. by copying quicklst.* to another directory, and copying them back (after
  699. stopping Internet Adventurer) if something goes wrong.
  700.       
  701.  
  702. -----------
  703. 9. Toolbars
  704. -----------
  705.  
  706. Internet Adventurer supports user-configureable toolbars. That means that you
  707. can create your own buttons on the toolbars, and assign actions to them.
  708.  
  709. To change the buttons on a tool-bar, click on it with the right mouse button,
  710. and a menu will appear.
  711.  
  712. You can then select 'Create item' to create a new button, and a notebook will
  713. appear where you can assign actions to it. Select an action, and enter
  714. eventual parameters for it. After assigning an action, you need to give the
  715. new button a name and/or a bitmap. You can select from a list of built-in
  716. bitmaps, or you can load one from a file.
  717.  
  718. It is also possible to drag/drop buttons from one toolbar to another.
  719.  
  720.  
  721. By default, the following actions exist:
  722.  
  723. 1. About InetAdv
  724.    Parameters: None
  725.    Action:     Pop's up an about-dialog for Internet Adventurer.
  726.          
  727. 2. Execute program
  728.    Parameters: Programname, and eventual parameters for the program
  729.    Action:     Starts the selected program with the command
  730.                "start /N <program"
  731.    Example:    To start intercom.cmd, you must set the parameters to:
  732.                "cmd.exe /c intercom.cmd" to call the cmd-shell, and let it
  733.                start the .cmd file.
  734.                To start a .exe file, just type the name of the .exe file in
  735.                the parameter list.
  736.       
  737. 3. Open URL
  738.    Parameters: The URL to open
  739.    Action:     This command opens an URL.
  740.    Example:    Set parameters to "settings:irc" to open the settings dialog,
  741.                and to "http://home3.inet.tele.dk/krasmus/" to open my homepage.
  742.                You can also type "mailto:krasmus@post3.tele.dk" to send a mail to me,
  743.                or even "irc:default" to open an IRC connection with the
  744.                default setup.
  745.                Internet Adventurer will look at the protocol, and decide what
  746.                way to initate the communication.
  747.  
  748. 4. Settings
  749.    Parameters: Notebook Tab Name
  750.    Action:     Opens the settings dialog
  751.    Example:    Set the parameter to "IRC.HOST". Pressing the button, will
  752.                open the settings-notebook, and display the Host page under
  753.                IRC settings.
  754.  
  755. 5. IRC: Connect
  756.    Parameters: None
  757.    Action:     Opens an IRC session to a server, this is actually the same as
  758.                opening an URL called "irc:default"
  759.  
  760. 6. IRC: Join Channel
  761.    Parameters: None
  762.    Action:     Opens the 'Join channel' dialog, and let's up select the channel
  763.                you want to join.
  764.  
  765. 7. IRC: Command
  766.    Parameters: IRC Command
  767.    Action:     Executes the IRC command, just as if it was entered on the
  768.                command-line, eg. "/msg Starlord_ Internet Adventurer is great"
  769.                will send the message "Internet Adventurer is great" to
  770.                Starlord_.
  771.  
  772. 8. IRC: Userlist
  773.    Parameters: None
  774.    Action:     This will display the list of active users in the channel. Note
  775.                that this action only has effect if the window it's issued from
  776.                is an IRC channel-window.
  777.  
  778. 9. WWW: Start
  779.    Parameters: None
  780.    Action:     Opens the WWW window if it's not already open.
  781.  
  782. 10. WWW: Back
  783.    Parameters: None
  784.    Action:     Retrieves the previous WWW document
  785.  
  786. 11. WWW: Forward
  787.    Parameters: None
  788.    Action:     Retrieves the next WWW document (only if a Back command has
  789.                been issued)
  790.  
  791. 12. WWW: Reload
  792.    Parameters: None
  793.    Action:     Reloads the current WWW document
  794.  
  795. 13. WWW: Cancel
  796.    Parameters: None
  797.    Action:     Cancels loading of the current document
  798.  
  799. 14. WWW: Add to Quicklist
  800.    Parameters: None
  801.    Action:     Adds the current document to the quicklist
  802.  
  803. 15. WWW: Open File
  804.    Parameters: None
  805.    Action:     Opens a file for display in the WWW window
  806.  
  807. 16. WWW: Save current file
  808.    Parameters: None
  809.    Action:     Saves the current document
  810.  
  811. 17. WWW: View Source
  812.    Parameters: None
  813.    Action:     Displays the source (HTML code) for the current document
  814.  
  815. 18. WWW: Search
  816.    Parameters: None
  817.    Action:     Searches the current document
  818.  
  819. 19. WWW: Search Again
  820.    Parameters: None
  821.    Action:     Searches for the next match in the current document
  822.  
  823. 20. WWW: Print
  824.    Parameters: None
  825.    Action:     Prints the current document
  826.  
  827.  
  828.  
  829.  
  830. List of URL protocol types currently recognized:
  831.  
  832. Protocol    Parameter
  833. settings:   <settings-page> (eg. IRC.FONTS)
  834. irc:        <irc-action>    (see explanation)
  835. mailto:     <emailaddr>     (eg. krasmus@post3.tele.dk)
  836. http:       <http_host>     (eg. home3.inet.tele.dk/krasmus/)
  837. ftp:        <ftp_host>      (eg. hobbes.nmsu.edu)
  838. gopher:     <gopher_host>   (eg. gopher.almaden.ibm.com)
  839. file:       <filename>      (eg. InetAdv.htm)
  840. quicknick:  <nickname>      (eg. yahoo)
  841. quicklist:  None            (brings the quicklist to the foreground)
  842. news:       None            (Starts the newsreader)
  843. mail:       new             (Checks for new mail)
  844.  
  845.  
  846. Explanation of 'irc:<irc-action>' :
  847. The action can be:
  848.  
  849. 1 - default
  850.    This causes a normal connection to be established
  851.  
  852. 2 - /command
  853.    This executes the specified IRC command. The command will be treated as if
  854.    it was entered in the main IRC window. (eg. "irc:/join #inetadv"
  855.  
  856. NOTE: You can use this to create a button that connects to a certain IRC
  857. server, just set the action of the button to "Open URL", and the parameters to
  858. "irc:/server irc.epix.net" - this will open the IRC window, and connect to
  859. the specified server.
  860.  
  861.  
  862. Explanation of 'quicknick:<nickname>' :
  863.  
  864. This 'nickname' will be looked up in the quicklist database, and if a match is
  865. found, the matching URL will be taken instead. Imagine that you have in the
  866. quicklist an item called 'Searc Yahoo', with nickname set to 'Yahoo' and URL
  867. set to 'http://www.yahoo.com'.
  868. When InetAdv sees 'quicknick:yahoo' then it will look up yahoo in the quicklist
  869. database, and change the URL to 'http://www.yahoo.com' This URL will then be
  870. used.
  871.  
  872. Also note that in the WWW URL-line, just 'Yahoo' can be entered if you want to
  873. connect to http://www.yahoo.com - this can be a _great_ timesaver.
  874.  
  875.  
  876. ---------------------
  877. 10. Database recovery
  878. ---------------------
  879.  
  880. If you quicklist database get's damaged, it is now possible to recover as much
  881. as possible from it. just follow these steps:
  882.  
  883.  - close Internet Adventurer
  884.  - start an os/2 window and switch to your inetadv directory
  885.  - Now, you should make a backup of your quicklst.* files before tampering
  886.    with them.
  887.  - run qexport.cmd - this will export the quicklist into quicklst.txt
  888.  - delete quicklst.ix* and quicklst.dat
  889.  - run qimport.cmd - this will then recreate the database with all the quicklist
  890.    entries from quicklst.txt
  891.  - exit the os/2 window, and restart Internet Adventurer
  892.  - Now, the database should be fixed again - if you still have any problems,
  893.    please let me know. If you find a way to reproduce any damaging of the
  894.    database, please let me know that also.
  895.  
  896. If something bad happens to your news database, you can delete the current one
  897. by simply deleting the art* and newsgrp* files. This will cause all your mail
  898. and news to be destroyed, so beware !!
  899.  
  900. You should take frequent backups of your news/mail database to make sure that
  901. it won't be totally destroyed. If you get the message "Newsgroup database has
  902. been currupted - delete newsgrp.* and artlist.* and start again" - and you've
  903. got some real important messages in it, then let me know, and I'll try to see
  904. if there is a way to recover the database. I'm going to build an automatic
  905. recover utility into InetAdv soon !!
  906.  
  907.  
  908. -------------------
  909. 11. Version history
  910. -------------------
  911.  
  912. Version 0.11
  913.  
  914.  - Fixed nickname size bug, now you can only enter 9 char nickname.
  915.  - Fixed bug with "World Wide Web" menu-item only selectable once.
  916.  - When opening a window, it's now in the foreground instead of in the back.
  917.  - Bug resurfaced, private messages were shown with your nickname, and CTCP
  918.    ACTION command was not recognized.
  919.  - CTCP PING command implemented
  920.  - Bug in DCC Filetransfer, the number of received bytes was not set to 0
  921.    before starting receiving a file.
  922.  - Private messages no longer popup in a window automatically, they are now
  923.    displayed in the main IRC window
  924.  - Profile information is now stored in a .ini file, that makes it easier
  925.    to upgrade without hurting the old configuration
  926.  - Autojoin flag for channels added, if set, the channel will automatically
  927.    be joined when connecting.
  928.  - If nickname already exists, I now cut one character from the nick, and try
  929.    again, until it's not rejected.
  930.  - Yes, I now got rid of the MLE's for the channel-window, and I've made my
  931.    own MLE lookalike, with color support.
  932.  - Fixed WWW, so forms work
  933.  
  934. Version 0.12
  935.  - Scroll-back in channel-windows now possible
  936.  - Additional colors added for nicknames
  937.  - A list of strings can now be configured, when Internet Adventurer sees
  938.    one of these strings, it will change the color, so you'll be alerted.
  939.    This is extremely usefull for eg. inserting nicknames of friends etc.
  940.  - Firewall-settings for DCC is on the way (it doesn't work yet, but the dlg
  941.    is there)
  942.  - Now you can cancel loading a WWW document, and news, proxy and socks
  943.    settings are now possible for the WWW.
  944.  - Reload and back menu's added to WWW window.
  945.  - It's now possible to interrupt loading of a WWW document, by just selecting
  946.    a new link. The current document will then be cancelled, and the new one
  947.    will be loaded.
  948.  
  949. Version 0.13
  950.  - Fixed trap when messages arrived in a minimized window :(
  951.  
  952. Version 0.14
  953.  - Now, word-wrap is really word-wrap, lines are no longer cut in the middle
  954.    of a word, but words displayed whole.
  955.  - Font's are now selectable from a standard font dialog box.
  956.  - Colors are now selectable
  957.  - Fixed trap when a command was sent by the server, without a from name
  958.  - Fixed a trap which occured if no inetadv.ini file was present (oops)
  959.  
  960. Version 0.15
  961.  - Fixed a few spelling mistakes :)
  962.  - Messages to your nickname now goes to the active window, as well as the
  963.    main IRC window
  964.  - Moved the 'Leave Channel' menu into the action menu
  965.  - Fixed an eventual trap, if a DCC CHAT request was refused.
  966.  - Incoming DCC messages were not shown (oops)
  967.  - If the userlist was minimized, and then restored, it would resize wrong.
  968.  - Fixed a bug in the channel-windows, sometimes if the lines were very long
  969.    the window could get obfuscated while scrolling.
  970.  - Previously, the buttom of the chars on the last line couldn't be seen,
  971.    this is now fixed.
  972.  - Command /leave implemented
  973.  - Command /signoff implemented
  974.  - Command /begone implemented
  975.  
  976. Version 0.16
  977.  - DCC command-line is no longer disabled when not connected.
  978.  - Command /version implemented
  979.  - Command /ver implemented
  980.  - Command /userinfo implemented
  981.  - Fixed bug: Userinfo wasn't sent to the nick asking for it :(
  982.  - Changed "/DCC <nick> <filename" to "/DCC SEND <nick> <filename>", and
  983.    "/DCC <nick> CHAT" to "/DCC CHAT <nick>"
  984.  - /WHO /WHOIS /ISON etc. replies have been beautified a bit, and are now
  985.    also shown in the active window.
  986.  - Command-line scrollback now implemented. Internet Adventurer now remembers
  987.    the last 20 commands you've typed (much like the cmd shell), use arrows
  988.    up/down to scroll in the commands. You can also use ESC to clear the input
  989.    field.
  990.  - Command /finger implemented
  991.  - Command /ping implemented
  992.  - Command /execute implemented (beware of IceBerg's /exec) use this one
  993.    instead
  994.  - Command /clientinfo implemented
  995.  - CTCP responses are now also shown in the active window.
  996.  - Autodetect IP address now works
  997.  - When a partially overlapped channel-window was scrolled, sometimes the
  998.    contents could get corrupted.
  999.  - It's now possible to specify channel-name and password in the join list,
  1000.    just type "#channel pass", that should work.
  1001.  - Notify list implemented.
  1002.  
  1003. Version 0.17
  1004.  - Added '***' to a lot of messages, to make it clear where they come from.
  1005.  - When other people are joining a channel, their username/hostname is now
  1006.    also shown
  1007.  - Fixed a _huge_ memory leak - for every line you've typed, I would loose
  1008.    513 byte memory :((( This should fix the problem some people have had
  1009.    after running it for a long time. Sorry about that one folks :))
  1010.  - Fixed problem with using then newer WebEx API's (1.1a and the Java demo)
  1011.    they required that I read the display settings, and set them again - I
  1012.    didn't have to change them - in order to view text.
  1013.  - User-Configureable toolbars have been added to the main InetAdv window.
  1014.  - Nickname list has been added to the channel-windows.
  1015.  - Context-menu has been added to the nicklist, try selecting a nickname, and
  1016.    right-clicking.
  1017.  - User-Configureable toolbars have been added to the channel-windows.
  1018.  - Mode command is now parsed and displayed.
  1019.  - Fixed a trap, if you scrolled up/down when there was 0 lines in the windows
  1020.    it would trap.
  1021.  - It now beeps when a /msg arrives, I'll put it on an option soon.
  1022.  
  1023. Version 0.18
  1024.  - When a user got de-opped, it wasn't shown in the nicklist.
  1025.  - Fixed bug that caused that /who, /whois and a few other replies was not
  1026.    shown in the active window, if the active window was the first one
  1027.    created.
  1028.  - CTCP Userinfo, and CTCP Finger added to context-menu for nicklist.
  1029.  - Channel-names were case sensitive when saving toolbar settings, they are
  1030.    now case insensitive.
  1031.  - Fixed a big memory leak related to DCC, all bytes received/sent were never
  1032.    deallocated, sorry about that one :(
  1033.  - UCMENUS.DLL eliminated, I've compiled it into the .exe instead, because
  1034.    come people reported problems with ultimail using the same name for a dll.
  1035.  
  1036. Version 0.19
  1037.  - Fixed a trap, if a /topic response arrived before the channel-wnd was
  1038.    created, a sprintf would go haywire :)
  1039.  - Fixed toolbars, so if 'Load Default' is selected on the context-menu,
  1040.    the correct default menu is restored.
  1041.  - The 'Reset Styles' item on the toolbar context-menu didn't work.
  1042.  - Major internal changes ! DLL PlugIn's are now supported, IRC is moved to
  1043.    it's own DLL, and used the PlugIn API.
  1044.  - All settings have been moved to a single notebook
  1045.  - Toolbars are now selectable from the keyboard.
  1046.  - Oops, intercom wasn't started from the main menu, the parameters
  1047.    /C inetadv.cmd were missing from the command-line.
  1048.  - Nuke protection implemented.
  1049.  - Very long nicknames could get InetAdv to trap.
  1050.  - /whois response (msg 311) was not parsed correctly
  1051.  - A DCC SEND from someone with a very long filename (>100 bytes) caused a
  1052.    trap.
  1053.  - If we received multiple JOIN messages from the same channel, more than one
  1054.    window for the same channel would be created.
  1055.  - WWW moved to it's own DLL, and now supports interface to IRC and settings.
  1056.    You can now start IRC from a WWW Link
  1057.  - WWW now saves it's window position
  1058.  - When a user got kicked from a channel, the nicklist wasn't updated
  1059.  - Oops, you could create empty entries in the notify list, but you (almost)
  1060.    couldn't delete them again.
  1061.  - I finally managed to get the WebEx API to receive files it hasn't any
  1062.    viewer for, there were some undocumented messages that I had to use,
  1063.    it took a while to debug them and find out what way to use them, but it
  1064.    works now, thanks to some help from one of the WebEx developers.
  1065.  - You can now double-click on an entry in the join dialog to join the
  1066.    channel.
  1067.  - I've reworked the settings save a bit, so no matter how InetAdv is closed
  1068.    it will save it's window and toolbar settings. NOTE: Positions for
  1069.    minimized windows will not be saved !
  1070.  - It's now possible to use the cursorkeys, and page up/down in the WWW
  1071.    window.
  1072.  - I've added some IRC options (like beep on incoming msgs) see them on the
  1073.    IRC Options page in the settings notebook.
  1074.  - Fixed a but, page up/down in channel-windows didn't always scroll the
  1075.    correct number of lines.
  1076.  - Added option to start a private window when an incoming /msg arrives.
  1077.  - I hopefully fixed the nickname list, on some channels it didn't occur,
  1078.    it should work now, but please tell me if it doesn't.
  1079.  - Now the REXX functions are not so strict with checking the number of
  1080.    parameters, the IceBerg scripts sometimes specify more parameters than
  1081.    needed.
  1082.  
  1083. Version 0.20
  1084.  - FCF_NOBYTEALIGN now set on all frame windows - this means that you can
  1085.    now position the window freely.
  1086.  - Found a memory leak in IRC, for every line displayed in the irc channel
  1087.    windows, a block of memory was leaked.
  1088.  - Size of message queue increased from PM's default 10 messages, to 100
  1089.    messages.
  1090.  - /server command implemented. Auto-rejoining of channels is also
  1091.    implemented.
  1092.  - Display options added to WWW settings
  1093.  - When downloading a file via WWW, and the user wants to load another URL,
  1094.    I now display a warning allowing him to regret.
  1095.  - Title of WWW document is now displayed in the titlebar, some status
  1096.    messages have also been moved to the title-bar.
  1097.  - Progress indicator for loading of WWW documents had been inserted.
  1098.  - Hoverhelp now displays the URL in the WWW window. This one looks _nice_ !
  1099.  - Pressing 'Back' in the WWW while loading, is now possible.
  1100.  - Problem with loading/going back to documents with relative path fixed.
  1101.  - /topic command implemented - with * meaning current channel
  1102.  - /mode command implemented - with * meaning current channel
  1103.  - /clear and /cle commands implemented
  1104.  - /query and /private commands implemented
  1105.  - Fixed problem with the nicklist sometimes not appearing - the server seems
  1106.    to send data differently that the standard defines, but only for some
  1107.    channels. Strange, but it works now.
  1108.  - REXX function IrcRexxIsOp implemented.
  1109.  - Fixed a trap relating to the /names command - strlen(ptr+1) instead of
  1110.    strlen(ptr)+1
  1111.  - The settings-buttons now link to the correct settings-page.
  1112.  - Forward button in WWW implemented.
  1113.  
  1114.  
  1115. Version 0.21
  1116.  - Improved the nuke protection a bit
  1117.  - setting: and irc: URL's were not resolved properly when entered manually
  1118.    in the WWW.
  1119.  - Pressing ESC on a page in the settings notebook could cause the dialog
  1120.    to disapper from the page, this is now fixed.
  1121.  - OK button in userlist is now disabled until the whole list is received.
  1122.  - In 0.20, I intoduced a bug. When asked to confirm closing InetAdv, no
  1123.    matter what was selected, it exited.
  1124.  - Fixed bug with WWW URL Bubble showing in other windows.
  1125.  - Fixed bug, URL-entry field was overwritten when loading completed.
  1126.  - Bug when sending more than one mail to the same person in WWW fixed.
  1127.  - Some documents containing forms weren't reloaded even though they should
  1128.    have been.
  1129.  - /topic can now be used to display the current topic
  1130.  - Autodetect hostname now works
  1131.  - oops, no matter what socks host you selected, when you started up again, it
  1132.    always changed the hostname to the name of the current font - this has now
  1133.    been fixed.
  1134.  - Fixed bug in UCMenus that caused corruption the menu-bar. It also has the
  1135.    side-effect that most windows can now be fully resized (made real small)
  1136.  - Finally !! I've put in a quicklist - here, you can organize your URL's into
  1137.    multi-level groups, and you can assign 'nicknames' to URLs, eg. assign Yahoo
  1138.    to http://www.yahoo.com, then just type 'Yahoo' in the WWW URL entry-field.
  1139.    Yahoo will then be looked up in the quicklist database, and converted into
  1140.    the correct URL which will then be fetched.
  1141.  - Beautified the WWW menus a bit
  1142.  - Added another lot's of actions for WWW
  1143.  - Fixed a trap in UCMenus when saving toolbars while exiting.
  1144.  - Font in WWW window can now be entered.
  1145.  - Added search and search-again to WWW
  1146.  - Added 'Load File' and 'Save File' to WWW
  1147.  - 'View Source' is added to WWW
  1148.  - Added option on IrcRexxWildCard function, for turning off case sensitivity
  1149.  - Added cache options in WWW
  1150.  - Added option for displaying Bubble URL
  1151.  
  1152. Version 0.22
  1153.  - Fixed bug in UCMENUS, if another program was using UCMENUS.DLL, it tried to
  1154.    load it's resources from that dll, instead of from inetadv.exe
  1155.  - Fixed trap, when pressing <TAB> and <UP/DOWN> in IRC windows. This means
  1156.    that you can also use the keys to scroll up/down in the IRC windows now.
  1157.  - When the cache-directory was empty, Drag'n Drop got disabled due to a strange
  1158.    feature in the WebEx API. I've fixed it now, so if nothing is entered, I
  1159.    use the TMP environment variable setting.
  1160.  - Pressing 'Back' while loading a page in www, could trash the history list.
  1161.  - If the quicklist database became inconsistent (which shouldn't happen in
  1162.    the first place) then inetadv.exe would trap. Now it displays a warning that
  1163.    the database is inconsistent instead.
  1164.  - Fixed a few traps related to ctcp messages.
  1165.  - Fixed trap in WWW after requesting 50 different URLs without pressing back.
  1166.  - Registration code inserted.
  1167.  - Fixed the nicklist bug that some nicks were not removed from it when they
  1168.    exited the channel. - This should also fix a few traps I've heard about
  1169.    in connection with deleting a nick from the list.
  1170.  - The top part of the status-line in the bottom of the www window was partly
  1171.    gone.
  1172.  - /SCR commmand added to IRC.
  1173.  - Added URL parsing scripts - see more under REXX scripts.
  1174.  - Added IRC startup command
  1175.  - Nicknames are now only auto-cut on connect.
  1176.  - /RUN command added to IRC.
  1177.  - All leading blanks are now stripped from the URL
  1178.  - If a toolbar button has the action 'Open URL' and it has no parameters,
  1179.    a dialog is now shown where the user can enter the URL to retrieve.
  1180.  - WWW window now has a list of the 15 previous URL's
  1181.  - Entry-field for IRC commands are now changed to MLE's - so you can use
  1182.    eg. ctrl+left or ctrl+right to jump between words.
  1183.  - Context-menu for nickname list now works when DragText is installed.
  1184.  - Courier 8 point is now the default font on startup.
  1185.  - Scripts are now GT-IRC 2.00 compatible (window name added as parameter)
  1186.    NOTE: You can *not* use scripts suited for previous versions, but it's
  1187.    easy to fix this, just change the paramters in the top of the outgoing
  1188.    script (put a window name before the nickname)
  1189.  - REXX access to quicklist implemented
  1190.  - WebExplorer quicklist can now be imported - use import.cmd
  1191.  - 'quicklist:' URL added, and 'Switch to quicklist' added to WWW menu.
  1192.  - You must now use PGUP/PGDN to scroll through commands in the IRC command
  1193.    line.
  1194.  - Multiple lines can now be pasted into the command-line
  1195.  
  1196. Version 0.23
  1197.  - IRC trapped if /run or /scr was entered without any parameters
  1198.  - Fixed a trap that occured if you pressed tab + left or shift up - possibly
  1199.    other keys too - in IRC.
  1200.  - Quicklist window is now restored if minized (when quicklist: URL) is
  1201.    selected.
  1202.  - The option "Minimized window in foreground when msg arrives" now works.
  1203.  - IRC REXX scripts are now enhanced, so they can also filter commands.
  1204.    See the REXX Scripts section for details !
  1205.  - You can now double-click on a group in the 'Move to group' quicklist
  1206.    dialog.
  1207.  - Changing colors didn't update the nickname listbox.
  1208.  - Quicklist now remembers it's view
  1209.  - Drag & Drop now works in the quicklist - you can drag URL objects into
  1210.    it, but you can't drag URL objects out of it.
  1211.  - IDENTD support added.
  1212.  - Pressing ALT to go to the notebook system-menu now fixed. Thanks to Billb
  1213.    for helping me find this one :)
  1214.  - 'Copy' added to quicklist context-menu
  1215.  - The 'you are not registered' box is now system-modal
  1216.  - Fixed a trap that occured if InetAdv was trying to remove a nickname from
  1217.    an empty nickname list.
  1218.  - IRC text can now be marked and copied to the clipboard
  1219.  - Added /CHANNEL command
  1220.  - if a command is started with // then the rest is sent directly to the
  1221.    server - eg. //MODE #os/2 is sent to the server instead of being processed
  1222.    by InetAdv.
  1223.  - /MODE command can now be issued with only channel as parameter, to query
  1224.    the current mode.
  1225.  - When the slider was moved to the top in IRC windows, the text didn't scroll.
  1226.  - You can now double-click on an URL or quicknick in any IRC window.
  1227.  - URL's enclosed in <> () "" or '' is now resolved too.
  1228.  - All leading and trailing spaces are removed from any URL/quicknick.
  1229.  - If the URL starts with www, ftp or gopher, http:// ftp:// or gopher:// is
  1230.    automatically set in front.
  1231.  - WWW Window should now always display the correct full URL, as soon as it
  1232.    is available.
  1233.  - Added options for confirmations and for displaying toolbars
  1234.  - Added option for preferred editor (for now, only used for viewing source in WWW)
  1235.  - When saving a WWW document to a file, InetAdv now makes an educated guess on
  1236.    the filename, and suggests that.
  1237.  - If the DCC download directory doesn't exists, it will be created automatically.
  1238.  - Context-menu added to WWW window. Currently, it's the same as the normal
  1239.    menu, but I'll add more options to it later, like placing the cursor over
  1240.    an URL, and adding it to the quicklist without retrieving it.
  1241.  
  1242. Version 0.24
  1243.  - Fixed the bug that made toolbar bitmaps green in > 256 colors. This was a bug
  1244.    in the UCMenus toolkit I use for my toolbars.
  1245.  - Moved all configuration from INETADV.INI to OS2.INI - this unfortunately
  1246.    means that you configuration needs to be entered again (not the quicklist
  1247.    items, but the rest) but it also make InetAdv MUCH MUCH FASTER when loading
  1248.    and saving settings.
  1249.  - Fixed bug that caused identd to work only once. This also caused InetAdv to
  1250.    slow down when connecting to some servers.
  1251.  - the /scr command was broken - and the helloscr.cmd needed updating.
  1252.  - Fixed a lot of bugs related to the /server command - sometimes you could
  1253.    risk being connected to two servers at a time, and receive all messages
  1254.    twice :(
  1255.  - Changed the /server command, so if it is given without any parameters,
  1256.    a list of servers will pop up.
  1257.  - The quicklist's view was not saved correctly if it was name-view.
  1258.  - Printing added in WWW
  1259.  - Removed 'URL added to quicklist' box from WWW.
  1260.  - Made IRC a little bit more nukeproff
  1261.  - Now, changes on all toolbars, and window positions should always be saved
  1262.    even you do not close the windows before closing the main InetAdv window.
  1263.  - WWW History list is much improved - now it also shows the title of the
  1264.    page, not just the URL. Any given URL can only appear once in the list.
  1265.  - You can now double-click the entry-field in WWW to clear it.
  1266.  - Quicklist records are now displayed sorted alphabetically
  1267.  - I have spent _alot_ of time on news, and it's almost ready - however, I
  1268.    have decided to wait a little longer before I put it out in beta - I want
  1269.    it to be rock stable when you first try it, so you won't be put off.
  1270.    However, I can tell you that it's going to beat all the current newsreaders
  1271.    out there - both in functionality and in looks !
  1272.  
  1273. Version 0.25
  1274.  - If a TMP variable was not defined in the config.sys, the WWW part would
  1275.    trap immediately after starting it.
  1276.  - In some cases the quicklist database was reported as corrupted, even
  1277.    though it wasn't.
  1278.  - I've made rexx scripts for importing/exporting the quicklist. Look at
  1279.    qimport.cmd and qexport.cmd - These scripts are a but crude at the moment,
  1280.    but they are enough for saving your quicklist if the database get's
  1281.    damaged.
  1282.  - If you double-click with the right mouse button in the WWW entryfield, the
  1283.    field is cleared, and the contents of the clipboard is pasted to it.
  1284.  - I have changed some of the bitmaps on the buttons - thanks to
  1285.    Seth McFarland (ptackbar@vnet.net) for the new bitmaps !
  1286.  - Sometimes, the IRC nicklist was empty when joining a channel - this should
  1287.    be fixed now - please let me know if you see this problem again !
  1288.  - Fixed a trap in WWW - sometimes, when moving back and forth between pages,
  1289.    InetAdv would trap trying to deallocate an invalid pointer.
  1290.  - Nicknames in IRC can now be up to 32 characters - REMEMBER: this is only
  1291.    possible on some servers - eg. on EFNet servers you can only have nicks
  1292.    up to 9 characters long.
  1293.  - Newssupprt is now added - both online and offline newsreading is possible,
  1294.    and support of up to 10 simultaneous connections to the newsserver is
  1295.    implemented. This means that eg. while you are retrieving the list of new
  1296.    articles, you can still download a single article and look at that.
  1297.  
  1298. Version 0.26
  1299.  - If the IRC notify list was large, the server would think I was flooding
  1300.    it when I sent ISON requests for all the nicknames in the list - so now
  1301.    I send one name at a time.
  1302.  - 'gopher://' URL's were replaced by 'gopher://gopher://' oops :((
  1303.  - Fixed a trap in news, that could occur after retrieving marked articles
  1304.    twice.
  1305.  - Names sometimes still didn't show up in the userlist - I thought it was
  1306.    fixed in 0.25, but obviously it wasn't :(
  1307.  - Channel-list window implemented in IRC
  1308.  - A command-line parameter has been added to inetadv.exe - /I:inifilename
  1309.    This allows you to specify another .INI file than the default, which is
  1310.    to use OS2.INI - Using OS2.INI is much faster than using a private ini
  1311.    file, but it uses a little extra memory (around 20K, depending on number
  1312.    of channels, nicknames etc.) in OS/2 for caching OS2.INI
  1313.    A private ini file has the advantage over OS2.INI that you can copy it
  1314.    to another computer.
  1315.  - copyini.cmd added - copyini.cmd can be used to copy settings to / from
  1316.    OS2.INI.
  1317.  - install.cmd and uninst.cmd added.
  1318.  - When unsubscribing a group, or deleting headers, the articles did not
  1319.    get deleted.
  1320.  - Select/Unselect all headers in news is now possible.
  1321.    NOTE: If the newsgroup is very large, and contains many articles, this
  1322.    will take a long time. I will look at these performance problems once
  1323.    the basic functionality is completed.
  1324.  - Cross-posted articles generated error 2 if they were retrieved in
  1325.    more than one group.
  1326.  - You can now doubleclick on an URL inside the article-window - this
  1327.    will load the URL.
  1328.  - IRC would trap if a string > 500 chars was entered on the command-line.
  1329.  - News articles can now be sorted by article-id, subject, author, date and
  1330.    by number of lines. Sorting can be both ascending and descending
  1331.  - You can now select all headers (the ones without articles) and delete
  1332.    them.
  1333.  - Search in headers implemented - later search inside articles will come
  1334.    too.
  1335.  - Colors added - unread articles / headers have other colors in the
  1336.    subject than the ones that are read.
  1337.  - Marking messages / headers read / unread now possible.
  1338.  - Presentation parameters (colors/fonts) now saved for quicklist and for
  1339.    all the news windows.
  1340.  - News toolbars now follow the 'show toolbars' setting.
  1341.  - URL Command-line parameter added - you can now load an URL when you start
  1342.    InetAdv.exe - just add eg. http://something or news: or irc: etc.. to
  1343.    the parameters.
  1344.  - IRC - if scrolling back using the mouse to move the slider, cut/paste
  1345.    could get corrupted.
  1346.  - Authinfo support added in news.
  1347.  - News and WWW statusbars enhanced visually
  1348.  - Offline posting of news articles now possible - the articles will be
  1349.    sent as soon as you are online again - InetAdv will periodically try
  1350.    to send articles.
  1351.  - Posted articles are saved in a 'sent' group, for later reference.
  1352.  - Articles can now be saved to a file (right-click the article window)
  1353.  - New option for doubleclick on an article header - should it mark it for
  1354.    download, or retrieve it ?
  1355.  - Option for wrapping posted messages on x (default 72) characters
  1356.  - IRC /QUIT command now works with spaces in the quit reason - eg.
  1357.    "/QUIT will be back later" - previously, only "QUIT will" was shown.
  1358.  - Support for signature files added.
  1359.  - Multiple newsserver support added - every group now has it's own
  1360.    newsserver.
  1361.    NOTE: Only registered users can specify multiple newsservers !
  1362.  - Support for autogetting all new article bodies added - usually this
  1363.    function should be used on a per-group basis, and only for groups with
  1364.    relatively few messages - eg. comp.os.os2.announce
  1365.  - Option for marking all articles headers read before retrieving new
  1366.    headers added.
  1367.  - In IRC, you can now see who changed the topic.
  1368.  - Alt/Ctrl up/down can now be used to scroll between messages.
  1369.  - Ctrl-U and Ctrl-A can be used to select the next unread header, or the
  1370.    next unread article.
  1371.  - Option for specifying the desktop as parent of all the news windows now
  1372.    implemented. This was a pain - all menu accelerators had to be resolved
  1373.    manually, because the windows are no longer children of the one which
  1374.    contains the menu.
  1375.  - Newsgroup names can be changed before subscribing them - this means you
  1376.    can now subscribe to any newsgroup/server.
  1377.  - Clicking on the news-icon now puts the newswindow in the foreground
  1378.    instead of giving an error message.
  1379.  - All dates (in the newsreader) are now parsed and displayed in national
  1380.    language format.
  1381.  - Download directory moved from IRC settings to main settings
  1382.  - News can now decode single-part UUEncoded files.
  1383.  - % counter now shown when retrieving article bodies.
  1384.  - If an old news-database is found, the user is warned that he should
  1385.    delete it.
  1386.  - UU-Decoded files can now be viewed - great for all those alt.binaries
  1387.    groups :)
  1388.  
  1389. Version 0.95
  1390.  - Blank (empty) lines were not always shown in the MLE window.
  1391.  - When sorting on subject, and 2 equal subjects are found, they are now
  1392.    sorted by date.
  1393.  - Memory allocation tweaked here and there - a few people have experienced
  1394.    traps, relating to memory overwrites.
  1395.  - Fixed a strange bug - if sorting on article-id was selected, selecting
  1396.    to sort articles descending caused a trap.
  1397.  - Logging added to IRC
  1398.  - The signature file was not used when creating new messages.
  1399.  - In the outgoing folder, and the sent folder, CR characters were
  1400.    displayed as a flag - they shouldn't have been there at all.
  1401.  - After unsubscribing a group, all database operation would slow down.
  1402.  - Doubleclicking on an article header where the article exists, brings
  1403.    the article window to the foreground.
  1404.  - When deleting articles, you now get asked if you want to delete the
  1405.    headers as well as the articles, or if you want to leave the headers.
  1406.  - Fixed a huge bug in the newsreader - if the newsserver was fast (really
  1407.    fast) then news could halt/hang and required restart of InetAdv.
  1408.  - /irctrace command added to IRC.
  1409.  - Fixed a bug, when doubleclicking on an URL in News, a linefeed could
  1410.    sneak it's way into the URL.
  1411.  - If an URL ends with a . then it is now removed. This ensures that links
  1412.    like "(http://www.something.com)." can be resolved.
  1413.  - If settings for a group was opened, while the database was heavily used
  1414.    then sometimes the settings couldn't be found.
  1415.  - install.cmd has been modified to handle directories with spaces in them.
  1416.  - When retrieving news articles, the last already retrieved article was
  1417.    retrieved again.
  1418.  - The WWW Window now jumps to the foreground whenever you tell it to load
  1419.    a new URL.
  1420.  - If posting a follow-up message to multiple newsgroups, the server for
  1421.    the newsgroup would not be used, and the message could not be sent.
  1422.  - When a quicklist item was edited, and the nickname was empty, the
  1423.    change was not always saved in the database.
  1424.  - Even if CTCP replies was disabled, an error-msg would still be sent if
  1425.    a partial CTCP command was received.
  1426.  - News database performance increased a lot, but it has been change to
  1427.    single-user mode, which means that only one instance of InetAdv can
  1428.    use the database at a time - if you want to invoke multiple instances,
  1429.    you have to run them from different directories.
  1430.  - Added option to only show unread articles/headers, and hide read ones.
  1431.  - Max. number of simultaneous connections to the newsserver had been
  1432.    increased to 20
  1433.  - Mail is ready - up to 5 simultaneous accounts are supported now - if
  1434.    you need more than one account, you must register. Mail can be
  1435.    retrieved via POP, and sent via SMTP.
  1436.  - Added checkmarks to the sort menuitems, so you can see which one is
  1437.    selected.
  1438.  - Fixed a trap that sometimes occured when DCC ended.
  1439.  - Added <unread>:<total> number of messages to the groups list, so you
  1440.    can get a quick overview of how many unread/total messages a group
  1441.    contains.
  1442.  - Added the /P: option, so now you can select which DLL's to load. eg.
  1443.    if you never use IRC, you can leave that out - see the command-line
  1444.    options section for details.
  1445.  - Changed the quicklist database to single-user mode - this means that
  1446.    you can only run one inetadv.exe from any give directory - if you
  1447.    want to run more than one, you have to do it from different
  1448.    directories. You also can not run eg. import.cmd while InetAdv is still
  1449.    running.
  1450.  - Fixed a bug where a few garbage characters sometimes were appended to
  1451.    posted articles.
  1452.  - Automatic recovery of a corrupted database is now added.
  1453.  - News and mail articles can now be viewed threaded ! The threads are
  1454.    sorted alphabetically by subject, but with threads containing unread
  1455.    messages at the top.
  1456.  - Expired article headers (the ones that are not on the server anymore)
  1457.    are now deleted after retrieving the article list, instead of being
  1458.    deleted one the group is shown.
  1459.  - It is now possible to perform actions on entire threads, eg. you can
  1460.    delete all articles in a thread, mark them read/unread etc.
  1461.  - Presentation parameters are now saved for both the news and www
  1462.    statuslines. Colors can now also be changed.
  1463.  - A new article window can be spawned from the current one. This window
  1464.    will not change content when another article is selected, so you can
  1465.    thus view the contents of multiple articles simultaneously. The window
  1466.    positions and presentation parameters are saved (for up to 10 windows)
  1467.  - Option to confirm delete of articles added.
  1468.  - New icons added, and toolbars have been modified a little, so now you
  1469.    can set the size of the bitmaps to 0
  1470.